package com.sunyy.codegenerator.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 模板文件信息
 *
 * @TableName template_file_info
 */
@Data
@Table("template_file_info")
public class TemplateFileInfo {
    /**
     * 主键
     */
    @Id
    @JsonSerialize(using = ToStringSerializer.class)
    private Long pkid;

    /**
     * 文件名
     */
    private String templateFileName;

    /**
     * 文件存储位置
     */
    private String fileUrl;

    /**
     * 文件描述
     */
    private String fileDesc;

    /**
     * 模板组合id
     */
    private Long groupId;

    /**
     * 文件目录层级
     */
    private String fileDirPath;

    /**
     * 文件名，利用freemarker解析该名称并生成文件名
     */
    private String generateFileName;

    /**
     * 创建人
     */
    private String createBy;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    /**
     * 更新人
     */
    private String updateBy;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;

    /**
     * 1-已删除 0-未删除
     */
    @Column(isLogicDelete = true)
    private Integer deleted;
}